﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp2
{
    class Program
    {
        /*编写一个程序，用以接收用户输入的两个浮点型的数值，
         * 一个值表示用户想要存放在银行账户中的余额，另一个值表示用户想要从银行账户中提取的金额。
实现存取款功能，
用户功能选择：1、存款，2、取款
取款时：
当用户想要提取的金额大于余额时，请手动抛出一个ArgumentOutOfRangeException 参数超出范围的异常，异常信息可以写“取款金额大于余额，请重新输入”
，如此以确保取款金额始终不大于当前余额。
操作结束，打印输出余额是多少。
最后再添加catch一般异常 Exception，使得数据类型转换的异常也能被捕获到。*/
           static Mymonth mymonth = new Mymonth(5200);

        static void Main(string[] args)
        {
            
            Console.WriteLine("账户余额："+mymonth.Balance);
            while (true)
            {
                Console.WriteLine("请输入你选择的功能：1、存款，2、取款");
                float manoey = int.Parse(Console.ReadLine());
                switch (manoey)
                {
                    case 1:
                        Deposit();
                        break;
                    case 2:
                        DrawMoney();
                        break;
                    default:
                        Console.WriteLine("输入有误，请重新输入。");
                        break;
                }

            }
        }

        static void DrawMoney()
        {
            Console.WriteLine("请输入存款金额：");
            float drawmony = int.Parse(Console.ReadLine());
            try
            {
                if (drawmony > mymonth.Balance)
                {
                    throw new Exception("提取金额不能大于账户余额");
                   
                }
                else
                {
                    Console.WriteLine("取款成功");
                    Console.WriteLine("取款后的余额:{0}", mymonth.Balance - drawmony);

                }
            }
            catch (Exception e)
            {

                Console.WriteLine(e.Message); 
            }
        }

        static void Deposit()
        {
            Console.WriteLine("请输入存款金额：");
            float deposit = int.Parse(Console.ReadLine());
            Console.WriteLine("存款成功{0}",deposit+mymonth.Balance);
        }
    }
}
